$(document).ready(function(){
	common.body_to_all();
	doctor_js.bind();
	doctor_js.init();
	$("#page_title").html("预约线上服务");
});
/**
 * 线上选服务
 * 记得要做图片的预加载处理
 */
var doctor_js = {};
/**
 * 初始化
 */
doctor_js.init = function(){
	vm.load_service();
	vm.cur_page = 1;
	vm.list = [];
	vm.load(0, true);	
}
/**
 * 后期优化要将所有的点击事件改为tap事件
 */
doctor_js.bind = function(){
	//滚动加载数据
	$(window).scroll(function() {
		var scrollTop = $(this).scrollTop();
		if(scrollTop+$(window).height()>=$(document).height()){
			vm.cur_page++;
			vm.load();
		}
	});	
	/**
	 * 监听回退按钮键
	 */
  	window.addEventListener("popstate", function(e) {
  		vm.do_history_change();
  	}, false);		
}
//服务数据
doctor_js.service_list = [
	{
		//ID
		id:1,
		//名称
		name:"心血管病",
	},
	{
		id:2,
		name:"高血压治疗",
	},	
];
/**
 * 医生列表
 */
doctor_js.doctor_list = [
	{
		//id
		id:1,
		//姓名
		name:'李荣杰',
		//职业类型
		job_type:"主任医师",
		//图片头像
		img_url:img_pix+"doctor.jpg",
		//所属医院
		hospital:"广东医科大学第一附属医院",
		//负责领域
		domain:"心血管内科",
		//擅长
		good:'心血管病、高血压治疗',
		//服务，注意：同擅长的情况
		service:'血压管理、血糖管理',
		//医生类型 1：医生 2：营养师
		doctor_type:1,
		//是否已经预约了 true：已预约 false：没有预约过
		is_ordered:false,
	},
	{
		id:2,
		name:'李荣杰',
		job_type:"主任医师",
		img_url:img_pix+"doctor.jpg",
		hospital:"广东医科大学第一附属医院",
		domain:"心血管内科",
		good:'心血管病、高血压治疗',
		service:'血压管理、血糖管理',
		doctor_type:2,
		is_ordered:true,
	},	
	{
		id:3,
		name:'李荣杰',
		job_type:"主任医师",
		img_url:img_pix+"doctor.jpg",
		hospital:"广东医科大学第一附属医院",
		domain:"心血管内科",
		good:'心血管病、高血压治疗',
		service:'血压管理、血糖管理',
		doctor_type:2,
		is_ordered:true,
	},	
	{
		id:4,
		name:'李荣杰',
		job_type:"主任医师",
		img_url:img_pix+"doctor.jpg",
		hospital:"广东医科大学第一附属医院",
		domain:"心血管内科",
		good:'心血管病、高血压治疗',
		service:'血压管理、血糖管理',
		doctor_type:2,
		is_ordered:true,
	},	
	{
		id:5,
		name:'李荣杰',
		job_type:"主任医师",
		img_url:img_pix+"doctor.jpg",
		hospital:"广东医科大学第一附属医院",
		domain:"心血管内科",
		good:'心血管病、高血压治疗',
		service:'血压管理、血糖管理',
		doctor_type:2,
		is_ordered:true,
	},		
	{
		id:6,
		name:'李荣杰',
		job_type:"主任医师",
		img_url:img_pix+"doctor.jpg",
		hospital:"广东医科大学第一附属医院",
		domain:"心血管内科",
		good:'心血管病、高血压治疗',
		service:'血压管理、血糖管理',
		doctor_type:2,
		is_ordered:true,
	},		
	{
		id:7,
		name:'李荣杰',
		job_type:"主任医师",
		img_url:img_pix+"doctor.jpg",
		hospital:"广东医科大学第一附属医院",
		domain:"心血管内科",
		good:'心血管病、高血压治疗',
		service:'血压管理、血糖管理',
		doctor_type:2,
		is_ordered:true,
	},	
	{
		id:8,
		name:'李荣杰',
		job_type:"主任医师",
		img_url:img_pix+"doctor.jpg",
		hospital:"广东医科大学第一附属医院",
		domain:"心血管内科",
		good:'心血管病、高血压治疗',
		service:'血压管理、血糖管理',
		doctor_type:2,
		is_ordered:true,
	},		
];
var vm = avalon.define({
	//---------------------------------
	/**
	 * 表示地区弹框出现了
	 */
	$mask_back:'mask_back',
	/**
	 * 通过服务选出医生
	 */
	$doctor_back:'doctor_back',
	/**
	 * 表示当前的状态，这里要做成一个栈，先进后出
	 */
	$active_back:[],
	/**
	 * 加入到history中
	 */
	push_history:function($state){
		//这里要先判断是否已经有了$state
		var is_have = false;
		$.each(vm.$active_back, function(index) {    
			if(vm.$active_back[index] == $state){
				is_have = true;
			}
		});
		if(is_have == false){
			vm.$active_back.push($state);
		  	var state = {
		  		title: $state,
		  		url: "#"+$state,
		  	};
		 	window.history.pushState(state, state.title, state.url);
		}
	},
	/**
	 * 当history改变时执行的回调方法
	 */
	do_history_change:function(){
		if(!vm.$active_back.length){
			return ;
		}
		//获取最新进来的值
		switch (vm.$active_back[vm.$active_back.length-1]){
			case vm.$mask_back:
				vm.is_service_open = false;
				break;
			
			case vm.$doctor_back:
				vm.search_key = "";
				vm.cur_page = 1;
				vm.list = [];
				vm.load(0, true);
				break;
			
			default:
				//什么都不做
				break;
		}
		if(vm.$active_back.length){
			vm.$active_back.pop();
		}
	},
	//返回
	go_history:function(){
		if(vm.$active_back.length){
			history.go(-1);
			vm.$active_back.pop();
		}		
	},
	//---------------------------------	
	$id:"main_controller",
	//服务数据
	service_list:[],
	//加载所有服务
	load_service:function(){
		$.ajax({
			type:"post",
			url:get_atl_screen_url,
			dataType:"json",
			processData: false,
			contentType: false,			
			success:function(data){
				$.each(data,function(index){
					data[index].is_checked = false;			
				});
				vm.service_list = data;								
			},	
			error:function(){
				vm.toast_msg = "网络错误";
				vm.is_toast_show = true;
				vm.clear_toast();					
			},			
		});		
	},
	//关闭遮罩
	close_service_open:function(){
		vm.is_service_open = false;
		vm.go_history();
	},
	/**
	 * 服务下拉是否开启
	 */
	is_service_open:false,
	/**
	 * 改变服务下拉的状态
	 */
	change_service_open:function(){
		vm.is_service_open = !vm.is_service_open;
		if(vm.is_service_open){
			vm.push_history(vm.$mask_back);
		}else{
			vm.go_history();
		}		
	},
	/**
	 * 服务是单选的
	 */
	active_service:function(index){
		vm.service_list[index].is_checked = !vm.service_list[index].is_checked; 
		vm.cur_page = 1;
		vm.list = [];
		vm.load(index,false,function(){
			vm.push_history(vm.$doctor_back);
		});
		vm.is_service_open = false;
		vm.go_history();
	},
	
	//----------------
	//跳转到直接预约页面
	go_to_order_page:function(index){
		var id = vm.list[index].dictuserid;
		location.href = order_url+"?from=up&id="+id;
	},
	//跳转到医生主页
	go_to_doctor_home_page:function(index){
		var id = vm.list[index].dictuserid;
		location.href = doctor_home_url+"?from=up&id="+id;		
	},
	//搜索词
	search_key:'',
	//搜索动作
	search_f:function(){
		vm.cur_page = 1;
		vm.list = [];
		vm.load(0, true);
//		if(vm.search_key.trim()){
//			vm.cur_page = 1;
//			vm.list = [];
//			vm.load(0,true);			
//		}else{
//			vm.toast_msg  = "请输入关键字";
//			vm.is_toast_show = true;
//			vm.clear_toast();
//		}
	},
	//当前的服务查询条件id
	cur_service_id:0,
	//当前页
	cur_page:1,
	//医生列表
	list:[],
	/**
	 * 加载医生数据
	 * 可用参数：1、cur_page（当前页）2、search_key（搜索词）3、cur_service_id（当前的服务查询条件id）
	 */
	load:function(index,is_search,callback){
		if(vm.is_loading==true){
			return ;
		}
		vm.is_loading = true;
		var dictproductsid = 0;
		if(index>=0){
			if(!is_search){
				dictproductsid = vm.service_list[index].dictproductsid;
			}
		}
		var params = "cur_page="+vm.cur_page+"&dictproductsid="+dictproductsid;
		if(is_search){
			params += "&search="+vm.search_key;
		}		
		$.ajax({
			type:"get",
			url:get_atl_doctor_url,
			dataType:"json",
			data:params,
			success:function(data){
				if(callback){
					callback();
				}
				console.log(data);
				if(data && data.length){
					$.each(data, function(index) {    
						var service = "";
						$.each(data[index].serve,function(index_j){
							service+= (data[index].serve[index_j].productsname+"、" );
						})
						data[index].service = service;
					});					
				}				
				vm.is_loading = false;
				//这里要处理图片的按需加载
				vm.list.pushArray(data);
				//执行按需加载
				setTimeout(function(){
					$(".doctor-img").unveil();
				},100);
				if(!data || data.length<=0){
					//这里重新处理页数
					if(vm.cur_page!=1){
						vm.cur_page--;
					}
					vm.toast_msg = "没有更多数据了";
					vm.is_toast_show = true;
					vm.clear_toast();						
				}
			},
			error:function(){
				vm.is_loading = false;
				vm.toast_msg = "网络错误";
				vm.is_toast_show = true;
				vm.clear_toast();		
			}
		});
	},
	//是否正在加载数据
	is_loading:false,
	//----------------
	
	//----------------
	//toast的信息
	toast_msg:'',
	//是否要展示toast
	is_toast_show:false,
	//定时器
	$timeout:0,
	//消息隐藏
	clear_toast:function(){
		//设置定时器
		if(vm.$timeout){
			clearTimeout(vm.$timeout);
		}
		vm.$timeout = setTimeout(function(){
			vm.is_toast_show = false;
			vm.toast_msg = '';
		},3000);		
	},	
	//-----------------	
});
avalon.scan();
avalon.ready(function(){
	$('body').css('opacity',1);
});
